package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 * @author hua
 * @since 2024-11-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_platform_order_regular_info")
public class PlatformOrderRegularInfoDo extends Model<PlatformOrderRegularInfoDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 模块类型 10设定动作 20 基础信息 30 仓储物流 40 订单信息 50 Mercado 60 Tiktok
     */
    @TableField("module_type")
    private Integer moduleType;

    /**
     * 子模块类型
     */
    @TableField("child_type")
    private Integer childType;

    /**
     * 平台 邮编 等等统一归纳
     */
    @TableField("start_value")
    private String startValue;

    /**
     * 只有估算重量才有
     */
    @TableField("end_value")
    private String endValue;

    /**
     * 平台 邮编 物流追踪号匹配类型 1等于 2开头 3包含 4大于 5大于等于 
     */
    @TableField("start_match_type")
    private Integer startMatchType;

    /**
     * 只有估算重量才有 6 小于 7 小于等于
     */
    @TableField("end_match_type")
    private Integer endMatchType;

    /**
     * 订单产品
     * 0 全部产品包含在指定产品范围内
     * 1 全部产品不包含在指定产品范围内
     * 2 任一产品在指定产品范围内
     * 3 任一产品不在指定产品范围内
     */
    @TableField("child_mode")
    private Integer childMode;

    /**
     * 平台订单规则id
     */
    @TableField("rule_id")
    private Long ruleId;

    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    @TableField("create_time")
    private Date createTime;

    @TableField("create_by")
    private Long createBy;

    @TableField("delete_time")
    private Date deleteTime;

    @TableField("delete_by")
    private Long deleteBy;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
